<?php

/*
  --- PROJECT COFELY 2011, TOTAAL ACTUEEL StatStatus --
  @author: Leander Molegraaf
  @category: statistieken
  @name StatTotaalActueel

  @see StatTotaalActueel (klasse dit dit bestand gebruikt)

  @version 1.2
  datum: 26-04-2012

  BESCHRIJVING:
  Deze klasse bekijkt het aantal keuringen dat goed is gegaan, en op basis van dit percentage wordt er een status geset.
  De percentages die bepalen of een status groen/geel of rood verdiend staan op het moment hard-coded in de klasse.

  WERKING:
  Deze klasse wordt aangeroepen met 1 waarde: een integer met het percentage van hoeveel WPI's/TBM's er goed zijn gekeurd.(groen)
  met de functie getStatusPath kan je de path naar de juiste image ophalen, of je gebruikt de functie getStatus om een int representatie
  op te halen.

  CHANGELOG:
  1.1:
  - bestandsnamen van de statistiek beginnen allemaal met Stat
  - documentatie(top/inline) geupdate

  1.2:
  - bugfix mbt een type in de status variabel
  - oude getters/setters verwijderd
  - ontwerp geupdate
  - printStatusPath gebruikt niet langer echo, maar een return statement. de functie is hernoemd naar getStatusPath om dat te reflecteren.
 */

class StatStatus {

    private $status; //int
    private $greenStatusPath = STAT_STATUS_GROENPAD, $yellowStatusPath = STAT_STATUS_GEELPAD, $redStatusPath = STAT_STATUS_ROODPAD; //String

    /**
     * constructor
     * @param int $percentage het percentage, zoals berekend in StatTotaalAantalKeuring voor het aantal gevold
     * @since Version 1.0
     */

    public function __construct($percentage) { //int
        if ($percentage >= STAT_STATUS_PERCENTAGE_GROEN) {
            $this->setStatus(1);
        } else if ($percentage >= STAT_STATUS_PERCENTAGE_GEEL && $percentage < STAT_STATUS_PERCENTAGE_GROEN) {
            $this->setStatus(2);
        } else {
            $this->setStatus(3);
        }
    }

    public function getStatus() {
        return $this->status;
    }

    public function setStatus($status) {
        $this->status = $status;
    }

    public function getGreenStatusPath() {
        return $this->greenStatusPath;
    }

    public function setGreenStatusPath($greenStatusPath) {
        $this->greenStatusPath = $greenStatusPath;
    }

    public function getYellowStatusPath() {
        return $this->yellowStatusPath;
    }

    public function setYellowStatusPath($yellowStatusPath) {
        $this->yellowStatusPath = $yellowStatusPath;
    }

    public function getRedStatusPath() {
        return $this->redStatusPath;
    }

    public function setRedStatusPath($redStatusPath) {
        $this->redStatusPath = $redStatusPath;
    }

    /**
     * geeft de pad naar de juiste image
     * @name getStatusPath
     * @since Version 1.2
     * @return String $path het pad.
     */
    public function getStatusPath() {
        switch ($this->getStatus()) {
            case 1:
                return $this->getGreenStatusPath();
            case 2:
                return $this->getYellowStatusPath();
            case 3:
                return $this->getRedStatusPath();
        }
    }

}

?>
